package com.ala4.oxcafe.service;

import com.ala4.oxcafe.boot.page.PageDomain;
import com.ala4.oxcafe.dto.OperateDTO;
import com.ala4.oxcafe.entity.StoreInfo;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * 门店信息服务类
 *
 * @author PING
 * @version 1.0.0
 * @date 2025/8/14 15:07
 */
public interface StoreInfoService {

    /**
     * 分页查询门店信息
     *
     * @param pageDomain
     * @param storeInfo
     * @return
     */
    IPage<StoreInfo> storeInfoPage(PageDomain pageDomain, StoreInfo storeInfo);

    /**
     * 列表查询门店信息
     *
     * @param storeInfo
     * @return
     */
    List<StoreInfo> storeInfoList(StoreInfo storeInfo);

    /**
     * 创建门店信息
     *
     * @param storeInfo
     * @return
     */
    StoreInfo createStoreInfo(StoreInfo storeInfo);

    /**
     * 更新门店信息
     *
     * @param storeInfo 门店信息
     * @return
     */
    StoreInfo updateStoreInfo(StoreInfo storeInfo);

    /**
     * 删除门店信息
     *
     * @param storeId
     */
    void deleteStoreInfo(Long storeId);

    /**
     * 获取门店详情
     *
     * @param storeId
     * @return
     */
    StoreInfo storeInfoInfo(Long storeId);

    /**
     * 门店冻结/解冻操作
     *
     * @param operateDTO 操作
     * @return 门店信息
     */
    StoreInfo freezeThaw(OperateDTO operateDTO);
}
